'\" te
.\"  Copyright (c) 2001 by Sun Microsystems, Inc.  All rights reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH RSM_MEMSEG_IMPORT_OPEN_BARRIER 3RSM "April 9, 2016"
.SH NAME
rsm_memseg_import_open_barrier, rsm_memseg_import_order_barrier,
rsm_memseg_import_close_barrier \- remote memory access error detection
functions
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR... -lrsm [ \fIlibrary\fR... ]
#include <rsmapi.h>

\fBint\fR \fBrsm_memseg_import_open_barrier\fR(\fBrsmapi_barrier_t *\fR\fIbarrier\fR);
.fi

.LP
.nf
\fBint\fR \fBrsm_memseg_import_order_barrier\fR(\fBrsmapi_barrier_t *\fR\fIbarrier\fR);
.fi

.LP
.nf
\fBint\fR \fBrsm_memseg_import_close_barrier\fR(\fBrsmapi_barrier_t *\fR\fIbarrier\fR);
.fi

.SH DESCRIPTION
.LP
The  \fBrsm_memseg_import_open_barrier()\fR and
\fBrsm_memseg_import_close_barrier()\fR functions provide a means of remote
memory access error detection when the barrier mode is set to
\fBRSM_BARRIER_MODE_EXPLICIT\fR. Open and close barrier operations define a
span-of-time interval for error detection. A successful close barrier
guarantees that remote memory access covered between the open barrier and close
barrier have completed successfully. Any individual failures which may have
occurred between the open barrier and close barrier occur without any
notification and the failure is not reported until the close barrier.
.sp
.LP
The \fBrsm_memseg_import_order_barrier()\fR function imposes the order-of-write
completion whereby, with an order barrier, the write operations issued before
the order barrier are all completed before the operations after the order
barrier. Effectively, with the order barrier call, all writes within one
barrier scope are ordered with respect to those in another barrier scope.
.SH RETURN VALUES
.LP
Upon successful completion, these functions return 0. Otherwise, an error value
is returned to indicate the error.
.SH ERRORS
.LP
The \fBrsm_memseg_import_open_barrier()\fR,
\fBrsm_memseg_import_order_barrier()\fR, and
\fBrsm_memseg_import_close_barrier()\fR functions can return the following
errors:
.sp
.ne 2
.na
\fB\fBRSMERR_BAD_SEG_HNDL\fR \fR
.ad
.RS 27n
Invalid segment handle
.RE

.sp
.ne 2
.na
\fB\fBRSMERR_BAD_BARRIER_PTR\fR \fR
.ad
.RS 27n
Invalid barrier pointer.
.RE

.sp
.LP
The \fBrsm_memseg_close_barrier()\fR and \fBrsm_memseg_order_barrier()\fR
functions can return the following errors:
.sp
.ne 2
.na
\fB\fBRSMERR_BARRIER_UNINITIALIZED\fR \fR
.ad
.sp .6
.RS 4n
Barrier not initialized.
.RE

.sp
.ne 2
.na
\fB\fBRSMERR_BARRIER_NOT_OPENED\fR \fR
.ad
.sp .6
.RS 4n
Barrier not opened.
.RE

.sp
.ne 2
.na
\fB\fBRSMERR_BARRIER_FAILURE\fR \fR
.ad
.sp .6
.RS 4n
Memory access error.
.RE

.sp
.ne 2
.na
\fB\fBRSMERR_CONN_ABORTED\fR \fR
.ad
.sp .6
.RS 4n
Connection aborted.
.RE

.SH ATTRIBUTES
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Evolving
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.LP
.BR rsm_memseg_import_init_barrier (3RSM),
.BR rsm_memseg_import_set_mode (3RSM),
.BR attributes (7)
